Bài. Hiển thị các phần tử dương trong dãy Cho dãy số nguyên gồm N phần tử a1, a2, …, aN Yêu cầu: Hiển thị các phần tử dương trong dãy. Dữ liệu vào: File văn bản DAYD.INP gồm + Dòng đầu ghi số N ; + Dòng thứ hai một dãy số nguyên a1, a2, …, aN (mỗi số cách nhau ít nhất một dấu cách). Dữ liệu ra: Ghi ra file văn bản DAYD.OUT + Một dãy các phần tử dương(Các phần tử cách nhau ít nhất một dấu cách).
#include <bits/stdc++.h>
using namespace std;
long long a[1000],n,i;
int main()
{
freopen("dayd.inp","r",stdin);
freopen("dayd.out","w",stdout);
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++)
if (a[i]>0) cout<<a[i]<<" ";
return 0;
}
tìm các số nguyên tố trong dãy số nguyên có n phấn tử a1, a2...an. dữ liệu vào đọc từ file nguyên tố.INP, gồm 2 dòng:
- dòng đầu chứa số nguyên dương n,n<= 250.
-dòng 2 chứa các phần tử của dãy số gồm a1, a2...an.
-dữ liệu ra ghi vào tệp nguyên tố .OUTP ,các phần tử là số nguyên tố nằm trên 1 dòng
giúp mình với ạ, mình cảm ơn!!
#include <bits/stdc++.h>
using namespace std;
long long a[1000],i,n,j;
bool kt;
int main()
{
freopen("nguyento.inp","r",stdin);
freopen("nguyento.out","w",stdout);
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++)
if (a[i]>1)
{
kt=true;
for (j=2; j*j<=a[i]; j++)
if (a[i]%j==0) kt=false;
if (kt==true) cout<<a[i]<<" ";
}
return 0;
}
Bài. Tính trung bình cộng các phần tử trong dãy Cho dãy số nguyên gồm N phần tử a1, a2, …, aN
Yêu cầu: Tính trung cộng các phần tử trong dãy. Dữ liệu vào: File văn bản AVG.INP gồm + Dòng đầu ghi số N ; + Dòng thứ hai một dãy số nguyên a1, a2, …, aN (mỗi số cách nhau ít nhất một dấu cách). Dữ liệu ra: Ghi ra file văn bản AVG.OUT + Một số duy nhất là trung bình cộng các phần tử trong dãy(làm tròn một chữ số thập phân).
#include <bits/stdc++.h>
using namespace std;
long long a[10000],i,n,t;
int main()
{
freopen("avg.inp","r",stdin);
freopen("avg.out","w",stdout);
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
t=0;
for (i=1; i<=n; i++) t+=a[i];
cout<<fixed<<setprecision(1)<<(t*1.0)/(n*1.0);
return 0;
}
Bài 1 (8 điểm): TÍNH TỔNG
Cho dãy số a1, a2,..., aN và một số S. Hãy tính tổng các phần tử trong dãy mà chia hết cho S
Dữ liệu: Vào từ tệp văn bản BAI1.INP:
Dòng 1 : Hai số nguyên dương N và S (N ⩽ 105, S ⩽ 109)
Dòng 2 : N số nguyên dương a1, a2,..., aN (ai ⩽ 109)
Kết quả: Ghi ra tệp văn bản BAI1.OUT kết quả tìm được.
Ví dụ:
BAI1.INP | BAI1.OUT |
5 2 2 4 6 8 10 | 30 |
Bài 2 (6 điểm): HIỆU LỚN NHẤT
Cho 2 dãy số a1, a2,..., aN và b1, b2,..., bN , hãy tìm cặp số (x, y) sao cho x thuộc dãy a, y thuộc dãy b và chênh lệch giữa x và y là lớn nhất
Dữ liệu: Nhập vào từ tệp BAI2.INP gồm:
Dòng 1 : Số nguyên dương N ( N ⩽ 1000)
N dòng tiếp theo, mỗi dòng chứa 2 số nguyên ai và bi (ai, bi ⩽ 109)
Kết quả: Ghi ra tệp BAI2.OUT một số nguyên là chênh lệch lớn nhất của hai số (x, y) tìm được.
Ví dụ:
BAI2.INP | BAI2.OUT |
4 1 5 2 6 3 7 4 8 | 7 |
Bài 3 (4 điểm): GIÁ TRỊ CẶP SỐ
Ta định nghĩa giá trị cặp số nguyên dương (a, b) là số lượng ước số chung của a và b. Cho trước cặp số (a, b), hãy tính giá trị của cặp số này
Dữ liệu: Nhập vào từ tệp BAI3.INP gồm hai số nguyên dương a, b (a, b ⩽ 1012)
Kết quả: Ghi ra tệp BAI3.OUT một số nguyên là kết quả tìm được.
Ví dụ:
BAI3.INP | BAI3.OUT |
4 5 | 1 |
Ràng buộc:
Có 50% số test tương ứng với 50% số điểm có A, B ⩽ 100000
50% số test tương ứng với 50% số điểm còn lại không có ràng buộc gì thêm.
Bài 4 (2 điểm): ĐỐI XỨNG LẺ
Xâu đối xứng là xâu đọc từ trái sang phải cũng như đọc từ phải sang trái (Ví dụ “abba” là xâu đối xứng còn “abab” thì không). Ta định nghĩa xâu đối xứng lẻ là xâu đối xứng có độ dài lẻ.
Cho trước một xâu S có độ dài n và vị trí p, yêu cầu tìm độ dài xâu đối xứng lẻ dài nhất là xâu con của S và chứa vị trí p
Dữ liệu: Nhập vào từ tệp văn bản BAI4.INP:
· Dòng đầu chứa 2 số nguyên dương n, p (1 ⩽ p ⩽ n ⩽ 20000)
· Dòng thứ hai chứa xâu S độ dài n gồm các chữ cái tiếng Anh in thường
Kết quả: Ghi ra tệp văn bản BAI4.OUT độ dài xâu đối xứng lẻ dài nhất chứa vị trí p
Ví dụ:
BAI4.INP | BAI4.OUT |
7 7 abbbcce | 1 |
Ràng buộc:
50% số test tương ứng với 50% số điểm có n ⩽ 1000
50% số điểm còn lại không có ràng buộc gì thêm
------ HẾT ------
Bài 1 (8 điểm): TÍNH TỔNG
Cho dãy số a1, a2,..., aN và một số S. Hãy tính tổng các phần tử trong dãy mà chia hết cho S
Dữ liệu: Vào từ tệp văn bản BAI1.INP:
Dòng 1 : Hai số nguyên dương N và S (N ⩽ 105, S ⩽ 109)
Dòng 2 : N số nguyên dương a1, a2,..., aN (ai ⩽ 109)
Kết quả: Ghi ra tệp văn bản BAI1.OUT kết quả tìm được.
Ví dụ:
BAI1.INP | BAI1.OUT |
5 2 2 4 6 8 10 | 30
|
#include <bits/stdc++.h>
using namespace std;
int n,s,i,t;
int main()
{
freopen("bai1.inp","r",stdin);
freopen("bai1.out","w",stdout);
cin>>n>>s;
t=0;
for (int i=1; i<=n; i++)
{
int x;
cin>>x;
if (x%s==0) t+=x;
}
cout<<t;
}
Cho số nguyên dương n và dãy số nguyên a1, a2,...an> một đoạn con của dãy là một dãy các phần tử liên tiếp a1,...,ak trong đó 1<=L<=R<=n.Hãy tính xem trong dãy đã cho có bao nhiêu đoạn con có tổng các phần tử bằng 0
Dữ Liệu Vào: Từ tệp văn bản TONG>INP có cấu trúc như sau:
-dòng đầu chứa số nguyên dương n, 1<=n<=10^5
-dòng thứ 2 chứa n số nguyên a1,a2,....an
Cho tập số nguyên dương S={a1, a2, .., an} và một số nguyên K. Tìm một tập con Q có tổng nhỏ nhất sao cho tích các phần tử của Q chia hết cho K. Dữ liệu vào: + Dòng đầu tiên chứa hai số nguyên dương n, k (n < 105, k < 109) + Dòng thứ 2 chứa n số nguyên a1( d2,..., ữn(ữi 109) Dữ liệu ra: số nguyên dương X - tổng các số trong tập con cần tìm được
input:
5 24
3 2 4 2 8
output:
9
Mn giúp mik bt Tin Học với ạ..! Mn lm đc bài nào thì làm nha ...!
Câu 1 (7,0 điểm): Số chính phương.
Cho trước số nguyên dương N (0< N≤ 106 ). Yêu cầu: Tìm số nguyên dương K nhỏ nhất sao cho tích của K và N là một số chính phương. Dữ liệu vào: File CP.INP chứa số N. Dữ liệu ra: File CP.OUT ghi số nguyên K tìm được.
Câu 2 (6,0 điểm): Dòng lớn nhất.
Cho một tệp tin gồm nhiều dòng. Trên mỗi dòng chứa một xâu kí tự chỉ gồm các kí tự chữ cái và chữ số, độ dài của mỗi xâu không quá 255 kí tự.
Yêu cầu: Đưa ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất. Dữ liệu vào: File DLN.INP gồm:
+ Dòng đầu ghi số N là số lượng dòng chứa các xâu kí tự.
+ N dòng tiếp theo: mỗi dòng ghi một xâu kí tự. Dữ liệu ra: File DLN.OUT ghi ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất.
Câu 3 (4,0 điểm): Dãy con đối xứng.
Một dãy số liên tiếp gọi là dãy đối xứng nếu đọc các số theo thứ tự từ trái sang phải cũng giống như khi đọc theo thứ tự từ phải sang trái. Cho dãy số A gồm N số nguyên dương: a1, a2,..., aN (1≤ N≤ 10000; 1≤ ai≤ 32000; 1≤ i≤ N)
Yêu cầu: Hãy tìm dãy con đối xứng dài nhất của dãy A. Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy A. Dữ liệu vào: File DX.INP gồm 2 dòng:
- Dòng 1: ghi số nguyên dương N.
- Dòng 2: ghi N số nguyên dương lần lượt là giá trị của các số trong dãy A, các số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: File DX.OUT ghi dãy tìm được trên cùng một dòng, các số được ghi cách nhau một dấu cách.
Câu 4 (3,0 điểm): Dãy nguyên tố.
Cho một dãy số B gồm n số nguyên dương (n ≤ 1000), mỗi phần tử trong dãy có giá trị không quá 30000. Yêu cầu:
+ Tìm dãy con dài nhất (liên tiếp hoặc không liên tiếp) các phần tử là những số nguyên tố có giá trị tăng dần của dãy B và thứ tự của các phần tử không đổi so với ban đầu. Ví dụ: Dãy 8 phần tử {4, 2, 5, 6, 3, 3, 7, 9} có dãy con nguyên tố tăng dài nhất là {2, 5, 7}.
+ Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy B. Dữ liệu vào: File NT.INP gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương n.
- Dòng 2: Ghi n số nguyên dương, các số được ghi cách nhau một dấu cách. Dữ liệu ra: File NT.OUT ghi dãy con tìm được trên cùng 1 dòng, giữa 2 phần tử liền kề trong dãy có một dấu cách.
Cho một dãy N số nguyên Ai gồm các số a1, a2, a3, ..., an. Yêu cầu: Cho biết số K, là số lượng phần tử có giá trị trái dấu luân phiên dài nhất từ 2 phần tử trở lên. Dữ liệu vào: Cho trong tệp văn bản AMDUONG.INP có cấu trúc: + Dòng 1: Ghi số N (0 < N <=600000) + Dòng 2: Ghi một dãy N số ai, mỗi số cách nhau một khoảng trống (0 <> | ai | < 100000) Dữ liệu ra: Kết quả đưa ra trong tệp AMDUONG.OUT theo cấu trúc sau: + Dòng 1: Ghi duy nhất một số nguyên K 0<=K<=N) + Dòng 2: Ghi các phần tử trái dấu luân phiên dài nhất đầu tiên tìm thấy. Nếu có nhiều dãy thõa mãn thì in ra dãy đầu tiên tìm thấy. Còn nếu không tìm được dãy nào thì ghi số 0.